package com.ruicar.afs.cloud.basic.common.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruicar.afs.cloud.common.core.entity.BaseEntity;
import com.ruicar.afs.cloud.common.modules.contract.enums.BusinessTypeEnum;
import com.ruicar.afs.cloud.common.modules.contract.enums.ChannelTypeEnum;
import com.ruicar.afs.cloud.common.modules.contract.enums.CustTypeEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

/**
 * @author: Lee
 * @date 2020-05-29 09:31:34
 * @description 合同渠道信息记录表
 */
@Data
@Accessors(chain = true)
@TableName(value ="basic_channel_info", autoResultMap = true)
public class BasicChannelInfo extends BaseEntity<BasicChannelInfo> {

	/** 合同号码 */
	@ApiModelProperty("合同号码")
	private String contractNo;
	/** 渠道类型 枚举值：合作商，直营车商 */

//	@ApiModelProperty("收款类型")
//	private CollectionTypeEnum collectionType;

	@ApiModelProperty("渠道类型 枚举值：合作商，直营车商")
	private ChannelTypeEnum channelType;
	/** 渠道归属 */
	@ApiModelProperty(value = "渠道归属")
	private String channelBelong;
	/** 联系人 */
	@ApiModelProperty("联系人")
	private String contactName;
	/** 联系人电话 */
	@ApiModelProperty("联系人电话")
	private String contactPhone;
	/** 统一社会信用代码 */
	@ApiModelProperty("统一社会信用代码")
	private String socUniCrtCode;
	/** 合作商代码 */
	@ApiModelProperty("合作商代码")
	private String partnerCode;
	/** 合作商全称 */
	@ApiModelProperty("合作商全称")
	private String channelFullName;
	/** 账户类型 个人、企业 */
	@ApiModelProperty("账户类型 个人、企业")
	private CustTypeEnum accountType;
	/** 收款方名称 */
	@ApiModelProperty("收款方名称")
	private String receivingName;
	/** 收款方账号 */
	@ApiModelProperty("收款方账号")
	private String receivingAccount;
	/** 收款方银行 */
	@ApiModelProperty("收款方银行-BankCode")
	private String receivingBank;
	/** 收款方支行 */
	@ApiModelProperty("收款方支行-BankName")
	private String receivingSubBranch;
	/** 收款电子联行号 */
	@ApiModelProperty("收款电子联行号-EBankCode")
	private String electronicBankNo;
	/** 开户行省份 */
	@ApiModelProperty("开户行省份")
	private String openingBankProvince;
	/** 开户行城市 */
	@ApiModelProperty("开户行城市")
	private String openingBankCity;

	/** 上线日期 */
	@ApiModelProperty("上线日期")
	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	private Date onlineDate;
	/** 注册日期 */
	@ApiModelProperty("注册日期")
	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	private Date registrationDate;
	/** 法人 */
	@ApiModelProperty("法人")
	private String legalPerson;
	/** 法人身份证号 */
	@ApiModelProperty("法人身份证号")
	private String legalPersonIdCard;
	/** 管理员邮箱 */
	@ApiModelProperty("管理员邮箱")
	private String channelAdminMail;
	/** 渠道管理员地址-省份 */
	@ApiModelProperty("渠道管理员地址-省份")
	private String channelAdminProvince;
	/** 渠道管理员地址-城市 */
	@ApiModelProperty("渠道管理员地址-城市")
	private String channelAdminCity;
	/** 管理员所在区 */
	@ApiModelProperty("管理员所在区")
	private String channelAdminArea;
	/** 渠道管理员地址-详情 */
	@ApiModelProperty("渠道管理员地址-详情")
	private String channelAdminAddress;

	/** 渠道注册省份 */
	@ApiModelProperty("渠道注册省份")
	private String channelProvince;
	/** 渠道注册城市 */
	@ApiModelProperty("渠道注册城市")
	private String channelCity;

	@ApiModelProperty("账号属性")
	private BusinessTypeEnum accountAttribute;

	/** 省份 */
	@ApiModelProperty("省份")
	@TableField(exist = false)
	private String province;
	/** 城市 */
	@ApiModelProperty("城市")
	@TableField(exist = false)
	private String city;
	/** 车型名称 */
	@ApiModelProperty("车型名称")
	@TableField(exist = false)
	private String modelName;
}
